Speech enabling mechanisms have been developed that allow a user of a computer system to verbally communicate with a computer system. Examples of speech recognition products that convert speech into text strings that can be utilized by software applications on a computer system include the ViaVoice™ product from IBM®, Armonk, N.Y., and Naturally Speaking Professional from Dragon Systems, Newton, Mass.
In particular, a user may communicate through a microphone with a software application that displays output in a window on the display screen of the computer system. A software application then may respond to the user by producing a speech output that may be played through a speaker that is connected to the computer system. The user may again communicate to the software application and thus, a dialog or conversation develops between the user and the software application. In such a dialog, a software application typically tries to manage the dialog, that is, manage the flow of responses to the user. In particular, in some conventional systems, a dialog manager is part of the software application or provided as a separate piece of software that serves to control the dialog.
In a conventional dialog management approach, the dialog manager software may serve several functions. For example, dialog management software can manage the flow of the conversation while maintaining the history and context of the conversation. In addition, the dialog management software may direct the course of the conversation, access a database to obtain content that may be used in responses to the user, and formulate the responses based on that content, to be given back to the user. In general, the dialog management software is dependent upon explicit dialog definitions that are coded into the speech application. In order for the dialog to proceed, the user responds to these dialog speech definitions in a specific manner. Certain responses from the user are expected in the dialog definitions. Typically, the user receives a specific menu of options or expected responses, and the user responds by selecting from that menu. The user's input must fall within a certain expectation of responses that are coded in the dialog definitions.
In one conventional dialog management system, the menu is provided by a touch-tone voice menu such as typically available on touch-tone telephones. In these conventional systems, the user contacts an application by dialing up a phone number. The touch-tone voice menu then provides a menu of responses or selections for the user. The user must respond by choosing within the range of selections indicated by these voice menus.